package com.gezi.admin.config.validate.constraint.dict;

import jakarta.validation.Constraint;
import jakarta.validation.Payload;
import java.lang.annotation.*;

/**
 * @Author 格子软件
 * @createDate 2024/2/10 09:00
 * @contact 公众号：格子软件 微信：13716343106 邮箱：1424529270@qq.com
 **/
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE,ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {ValidDictValidator.class})
@Documented
public @interface ValidDictEnum {

    /**
     * 字典标识
     * @return
     */
    String type() default "";

    String message() default "";

    boolean isList() default false;

    /**
     * 不能为空
     */
    boolean isNotEmpty() default true;

    // 作用参考@Validated和@Valid的区别
    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};
}
